第13章 准备

《源码剖析》的内容基于Go 1.5.1,测试环境为Linux AMD64,且不包含32位内容。

我觉得是时候抛弃32位平台了。除了学习,日常开发和架构都不需要这个东西了。而且运行时内部对32位的处理看着就别扭。

本书这部分重点剖析Go运行时的内部执行机制,以便能深入了解程序运行期状态。这有助于深入理解语言规则,写出更好的代码——无论是规避GC潜在的问题,还是为了节约内存,亦或提升运行性能。

为了便于阅读,删减了相关代码,如有疑问请对照原始文件。如果Go版本不同,示例代码行号可能会存在差异,请以您实际的测试输出为准。

本书相关环境:

$go version go version go1.5.1 linux/amd64

$lsb_release-d Description: Ubuntu 14.04.3 LTS

$gdb—version GNU gdb(Ubuntu 7.7.1-0ubuntu5~14.04.2)7.7.1

本书示例的go安装包存放在/usr/local/go目录,可能与您的有所不同,不影响测试。